package com.eds.utils;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
//弃用
public class IdUtil {

    private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
    private static final Random random = new Random();

    /**
     * 生成一个纯数字格式的用户ID。
     * 用户ID由当前时间戳（精确到毫秒）加上一个三位数的随机数组成。
     *
     * @return 返回生成的纯数字用户ID字符串。
     */
    public static String generateUserId() {
        // 获取当前时间戳并格式化
        String timestamp = sdf.format(new Date());
        // 生成一个三位数的随机数（000-999）
        int randomNumber = random.nextInt(1000);
        // 组合成最终的用户ID
        return timestamp + String.format("%03d", randomNumber);
    }

    /**
     * 验证给定的字符串是否为有效的用户ID格式。
     * 假设有效的用户ID格式为：长度为20位的纯数字字符串（17位时间戳+3位随机数）
     *
     * @param userId 给定的用户ID字符串。
     * @return 如果字符串是有效的用户ID格式，则返回true；否则返回false。
     */
    public static boolean isUserIdValid(String userId) {
        if (userId == null || userId.length() != 20) { // 17位时间戳 + 3位随机数
            return false;
        }
        // 检查是否全部为数字
        return userId.matches("\\d+");
    }

    public static void main(String[] args) {
        // 测试生成用户ID
        String userId = generateUserId();
        System.out.println("Generated User ID: " + userId);

        // 测试验证用户ID的有效性
        boolean isValid = isUserIdValid(userId);
        System.out.println("Is the generated User ID valid? " + isValid);
    }
}